草庐IT

c++ - QML Qt openUrlExternally

全部标签

c++ - ovly_debug_event 在 chrome 中有什么作用?

我在看chrome的线程栈的时候发现很多线程都有类似这样的痕迹:0,wow64cpu.dll!TurboDispatchJumpAddressEnd+0x6c01,wow64cpu.dll!TurboDispatchJumpAddressEnd+0x4a82,wow64.dll!Wow64SystemServiceEx+0x1ce3,wow64.dll!Wow64LdrpInitialize+0x4294,ntdll.dll!RtlIsDosDeviceName_U+0x24c875,ntdll.dll!LdrInitializeThunk+0xe6,ntdll.dll!ZwWaitF

C++ 在全局命名空间中找不到非标准 C 函数

我们有一个相当大的C++项目,我现在正在将其迁移到VS2010并在此过程中更新一些库。到目前为止,一切都构建得很好,除了我得到(对我来说)很奇怪的错误,其中显然有许多(编辑:非)标准C函数和符号未定义:errorC2039:'strdup':isnotamemberof'`globalnamespace''...\ACE_wrappers\ace\OS_NS_string.inl222...errorC2065:'O_WRONLY':undeclaredidentifier...\ACE_wrappers\ace\OS_NS_unistd.inl1057...这会影响我的以下功能和符号

c++ - 如何在用 gcc(不是 g++)编译的 C 项目中组合 C++ 目标文件?

又一个C/C++集成问题:我正在尝试使用C++库(我们称之为libcl.a)中的功能更新一些遗留C库(我们称之为libcppl.a)。liblc.a库在我的环境中被广泛使用,并链接到许多C项目中,使用GCC(在C编译器模式下):>>gccprog.c-lcllibcl.a目前包括cl.o目标文件(使用gcc从cl.c+cl.h创建)。libcppl.a由cppl.o组成目标文件(使用g++从cppl.cpp+cppl.h创建)。因为现有的应用程序是用C语言编写的,而构建脚本使用的是GCC,所以我希望尽可能简单地过渡到更新后的库。因此,我想继续使用GCC作为主要编译器,但仍然能够链接到更

c++ - 使用 SSE 内在函数时如何确保 NaN 传播?

我最近读到这篇关于SSE算术运算中的NaN值的文章:Theresultofarithmeticoperationsactingontwonotanumber(NAN)argumentsisundefined.Therefore,floating-pointoperationsusingNANargumentswillnotmatchtheexpectedbehaviorofthecorrespondingassemblyinstructions.来源:http://msdn.microsoft.com/en-us/library/x5c07e2a(v=vs.100).aspx这是否意味

c++ - fflush - 如何检查最后一个操作是否为输出操作

来自std::fflush文档(http://en.cppreference.com/w/cpp/io/c/fflush):Causestheoutputfilestreamtobesynchronizedwiththeactualcontentsofthefile.Thebehaviorisundefinedifthegivenstreamisoftheinputtypeorifthegivenstreamisoftheupdatetype,butthelastI/Ooperationwasnotanoutputoperation.我需要对一个文件调用fflush才能获得它在磁盘上的

c++ - C 和 C++ 中类型的互操作性

一个非常简单的问题:在同一系统上,是否可以保证Cint与C++int相同?不用说,这当然是一个纯理论问题。C和C++标准使用相同的语言来定义基本类型。但是Fortran2003明确指出useISO_C_BINDINGinteger(kind=c_int)::i声明了一个与“配套C处理器”上的int类型兼容的整数类型,我在C++标准中找不到任何此类断言。Fortran会提供比C++更强大的C互操作性保证,这似乎很奇怪!我能找到的最接近的是第7.5节[dcl.link],C++11标准的第3段,其中指出Everyimplementationshallprovideforlinkagetof

c++ - 检查跳转缓冲区是否有效(非本地跳转)

我们已经在我们的代码库中实现了“longjmp–恢复堆栈环境”。longjmp例程由特定的error_exit函数调用,该函数可以从任何地方调用。因此,当longjmp被调用时,setjmp例程可能尚未被调用,缓冲区可能具有导致崩溃的无效值。我能否将缓冲区初始化为NULL或是否有任何检查可用于检查未设置或无效的值。一种方法是,每当setjmp被调用时,我都可以设置一个标志变量,并且我可以检查它。但这只是一个技巧。voiderror_exit(){externjmp_bufbuf;longjmp(buf,1);return1;}我可以做这样的事情吗?voiderror_exit(){ex

c++ - Gcc 预处理器和粘贴

前几天我在stackoverflow上发现了这个片段(感谢):#definePLATFORM3#definePASTER(x,y)x##_##y#defineEVALUATOR(x,y)PASTER(x,y)#definePLATFORMSPECIFIC(fun)EVALUATOR(fun,PLATFORM)externvoidPLATFORMSPECIFIC(somefunc)(char*x);用gcc-E编译,结果是:#1"xx.c"#1""#1""#1"xx.c"externvoidsomefunc_3(char*x);但是:#definePLATFORMlinux#define

c++ - #warning 和 #error 作为宏

有没有办法让宏在编译时强制发出警告和错误?我目前有这样的东西:#ifdefined(__clang__)#definePRAGMA(x)_Pragma(#x)#elifdefined(__GNUC__)#definePRAGMA(x)_Pragma(#x)#elifdefined(_MSC_VER)#definePRAGMA(x)__pragma(x)#endif#defineSTRINGISIZE(str)#str#defineSTR(str)STRINGISIZE(str)#defineLINESTR(__LINE__)#defineFILE__FILE__#defineFILE_

c++ - 你如何为具有继承的 C++ 类编写 C 包装器

我只是想知道是否有办法为具有继承的C++类创建一个C包装器API。考虑以下几点:classsampleClass1:publicsampleClass{public:intget(){returnthis.data*2;};voidset(intdata);}classsampleClass:publicsample{public:intget(){returnthis.data;}voidset(intdata){this.data=data;}}classsample{public:virtualintget();virtualvoidset(intdata);private:in